﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel.Channels;

namespace Microsoft.MSE.Catalog.Contracts
{
    public interface ISubscriptionManager
    {
        GetStatusResponse GetStatus(GetStatus request, string referenceParameters);
        RenewResponse Renew(Renew request, string referenceParameters);
        SubscribeResponse Subscribe(Subscribe request);
        Dictionary<Guid, Subscription> GetSubscriptions();
        void Unsubscribe(Unsubscribe request, string referenceParameters);
    }

    public class Subscription
    {
        public Guid subscriberId;
        public string filter = "*";
        public string endToAddress;
        public string endToAction;
        public string endToReferenceParameters;
        public string notifyToAddress;
        public string notifyToAction;
        public Binding notifyToBinding;
        public string notifyToReferenceParameters;
        public DateTime expires;
    }
}
